#include "Perso.h"
#include "Terrain.h"
#include "Zombie.h"
#include "Bonus.h"
#include "TabZombie.h"
#include "TabProjectile.h"

typedef struct
{
	Terrain * ter;
	Perso * pers;

	Tab_Zombie *tab_Zomb;
	Tab_Projectile * tab_Proj;
	int nb_Projectile;
	int nb_Zombie;
	int nb_Bonus;
	Bonus * bonus;
	Terrain * Terrain1;
	Terrain * Terrain2;
	Terrain * Terrain3;
	Terrain * Terrain4;
	int score ;
} Jeu;

void jeuInit(Jeu *);
void jeuLibere(Jeu *);
Terrain *jeuGetTerrainPtr(Jeu *);
Perso *jeuGetPersoPtr(Jeu *);
Terrain *jeuGetCstTerrainPtr(const Jeu *);
const Perso *jeuGetCstPersoPtr(const Jeu *);
// Fait défiler le terrain d'une case vers la gauche

Bonus * jeuGetCstBonusPtr(const Jeu *);


void defilementTerrain (Jeu *, char *);

void jeuActionClavier(Jeu *j, const char);

Jeu * ajouterZombie (Jeu *);

/*évolution du zombie*/
void evolutionZombie (Jeu *);

/* évolution du projectile*/
void evolutionProjectile(Jeu *);

void jeuEvolue(Jeu *pJeu);

void persovsZombie(Jeu *);

int testvalidezombie (Jeu *, Zombie *);

void spawnBonus (Jeu * );

void persovsBonus(Jeu *);

void defilementcolonnePerso (Jeu *);

/* Detruit un zombie */
void detruireZombie (Tab_Zombie *,int ) ;
